//引入模块
const express = require('express')
//path模块是用来拼接路径的
const path = require('path')
const app = express()
// express自带的获取body的中间件，form格式与json格式
app.use(express.urlencoded({
    extended: false
}))
app.use(express.json())
//get请求
app.get('/user', (request, response) => {
    //获取由客户端添加的token
    const token = request.headers.token
    //模拟一个数据库里存储的token
    const tokenData = 'dsdjhnasjdajksdajksdajksbasjkdjaskj'
    //将两个token拿来做判断，不相等既错误，执行代码，返回没有权限
    if (token !== tokenData) {
        return response.send({
            code: 001,
            msg: '没有权限',
            data: null
        })
    }
    // 用express的新方法获取查询字符串,并对象解构
    const { userID } = request.query
    //此时userID便是userID属性的值
    if (userID !== '001') {
        //代码的写法一般都是优先处理失败的,代码从右往执行,直接return终止错误代码继续执行
        return response.send({
            code: '000',
            msg: '查询失败',
            data: null
        })
    }
    // 执行成功往下执行,响应正确的数据
    response.send({
        code: '100',
        msg: '查询成功',
        data: {
            name: '晓月',
            age: 24,
            sex: '男'
        }
    })
})
//延迟请求
app.get('/userlazy', (request, response) => {
    setTimeout(() => {
        //获取由客户端添加的token
        const token = request.headers.token
        //模拟一个数据库里存储的token
        const tokenData = 'dsdjhnasjdajksdajksdajksbasjkdjaskj'
        //将两个token拿来做判断，不相等既错误，执行代码，返回没有权限
        if (token !== tokenData) {
            return response.send({
                code: 001,
                msg: '没有权限',
                data: null
            })
        }
        // 用express的新方法获取查询字符串,并对象解构
        const { userID } = request.query
        //此时userID便是userID属性的值
        if (userID !== '001') {
            //代码的写法一般都是优先处理失败的,代码从右往执行,直接return终止错误代码继续执行
            return response.send({
                code: '000',
                msg: '查询失败',
                data: null
            })
        }
        // 执行成功往下执行,响应正确的数据
        response.send({
            code: '100',
            msg: '查询成功',
            data: {
                name: '晓月',
                age: 24,
                sex: '男'
            }
        })
    },3000)
})



app.get('/', (require, response) => {
    // 使用path.resolve拼接路径
    let filePath = path.resolve(__dirname, 'axios实例与拦截器.html')
    response.sendFile(filePath)
})
app.listen('9000', () => {
    console.log('服务器部署成功 地址为http://127.0.0.1:9000');
})